Antenna selection for GNSS receivers

ABSTRACT

Embodiments of the invention provide a system and method to improve the performance of a GNSS receiver using antenna switching. The system has a plurality of antennas and at least one radio frequency RF chain. There are fewer RF chain(s) than antennas. A receiver processes a plurality of signals sent by a plurality of transmitters. The system also includes antenna switches and switch controller. The method includes processing signals from a plurality of satellite vehicles SVs using an antenna selected from a plurality of antennas.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a Divisional of and claims priority to U.S. patentapplication Ser. No. 12/767,958 filed Apr. 27, 2010, which claimsbenefit under 35 U.S.C. §119(e) to U.S. Provisional Application No.61/172,910, filed Apr. 27, 2009. This application is also related toU.S. patent application Ser. No. 12/244,060 filed Oct. 2, 2008 entitledPOWER-SAVING RECEIVER CIRCUITS, SYSTEMS AND PROCESSES and U.S. patentapplication Ser. No. 12/648,846 filed Dec. 29, 2009 entitled POSITIONAND VELOCITY UNCERTAINTY METRICS IN GNSS RECEIVERS. All saidapplications incorporated herein by reference.

BACKGROUND

Embodiments of the invention are directed, in general, to communicationsystems and, more specifically, methods of antenna switching for GNSSreceivers.

As Global Navigation Satellite System (GNSS) receivers become morecommon, users continue to expect improved performance in increasinglydifficult scenarios. GNSS receivers may process signals from one or moresatellites from one or more different satellite systems. Currentlyexisting satellite systems include global positioning system (GPS), andthe global navigation satellite system (GLONASS). Systems expected tobecome operational in the near future include Galileo, quazi-zenithsatellite system (QZSS), and Beidou.

The future road map for some wireless handsets includes having multipleantennas to support higher data rates. Often, these same handsets alsoinclude a GNSS receiver used for position navigation. The presence ofmultiple antennas presents an opportunity for the GNSS receiver toimprove performance by leveraging the diversity gains available frommultiple receive antennas.

Previous ways of solving similar problems have been presented. In GPSReceiver Satellite/Antenna Selection Algorithm for the Stanford GravityProbe B Relativity Mission, Proceedings of the 1999 National TechnicalMeeting of the Institute of Navigation Jan. 25-27, 1999 Jie Li, AweleNdili, Lisa Ward, Saps Buchman, a set of 4 antennas are assigned to 6channels whereby in each channel 1 satellite is tracked. A masterantenna is assigned for each channel for code and carrier tracking. Thisantenna is chosen as the one which for a given satellite either a)maximizes its SNR b) results in the highest elevation angle beingcomputed with reference to the Satellite. So all antennas may be used intime interleaved fashion with each tracking different satellite(s). Inthis application, the device containing the GPS receiver is moving sothe signal from each antenna is fed to each GPS channel in atime-interleaved fashion so that each channel can continue to track thesame satellite signal(s) even while the attitude of the device haschanged such that the best antenna for tracking a given GPS satellitesignal changes.

Furthermore, several different metrics for antenna selection apart fromSNR and satellite elevation are presented. In MIMO system embodimentsfor wireless systems, capacity based metrics or mean-squared error (MSE)type metrics are employed for antenna selection. Performance BasedReceive Antenna Selection for V-BLAST Systems, IEEE TRANSACTIONS ONWIRELESS COMMUNICATIONS, VOL. 8, NO. 1, JANUARY 2009 Di Lu, and DanielK. C. So

These typically involve multiple transmitted signals as well and arenumerically complicated techniques which employ matrix inversion, ordeterminant based computations. In A Switching Circuit Scheme for asatellite site diversity system, IEEE International Symposium onCircuits and Systems, June 1988, pg 119-122, vol. 1, D. Di Zenobio, P.Lombardi, P. Migliorni, and E. Russo, switched diversity is used toimprove satellite tracking by having two antennas separated by very longdistances. When the performance of one antenna is suffering from rainattenuation, then the other antenna (which is hopefully not being rainedon) can be used. The solution proposed above requires signal quality onboth antennas to be monitored continuously.

In Predictive switched diversity for slow speed mobile terminals, M.Tarkiainen, T. Westman, Vehicular Technology Conference, May 1997, pg.2042-2044 vol. 3, antenna diversity techniques proposed for a TDMAsystem with discontinuous transmissions are categorized into switchingmethods, selection methods and combining methods and the two switchingstrategies given are switch-and-stay and switch-and-examine. Aswitch-and-stay strategy the antenna is switched once its quality fallsbelow a predetermined threshold, and in a switch-and-examine strategythe receiver is switched rapidly through the antennas until one with aquality above a threshold is found. The gaps in between transmissionsprovide convenient “quiet intervals” during which antennas can beswitched without transients affecting the signal reception.

There is a need for novel antenna switching embodiments for a GNSSreceiver which be classified as switch-and-stay or switch-and-examinestrategies. In this case, there are no quiet intervals during whichantennas may be switched (since no signal is being received). Also inthis case, there are multiple signals arriving from multipletransmitters (e.g. satellites) at various different anglessimultaneously.

BRIEF DESCRIPTION OF THE DRAWINGS

Reference will now be made to the accompanying drawings wherein:

FIG. 1A is a block diagram of a system embodiment.

FIG. 1B is a block diagram of a RF chain.

FIG. 2 is a first embodiment of the duty-cycle.

FIG. 3 is a second embodiment of the duty-cycle.

FIG. 4 is a third embodiment of the duty-cycle.

FIG. 5 is a fourth embodiment of duty-cycle for the Nrx>2 antenna case.

FIG. 6 is a fifth embodiment of duty-cycle for the Nrx>2 antenna case.

FIG. 7 is a sixth embodiment of duty-cycle for the Nrx>2 antenna case.

FIG. 8 is a flow diagram for Nrx=2.

FIG. 9 is an alternative flow diagram for Nrx=2.

FIG. 10 is another example flow diagram.

FIG. 11 is yet another example flow diagram.

DETAILED DESCRIPTION

The invention now will be described more fully hereinafter withreference to the accompanying drawings. This invention may, however, beembodied in many different forms and should not be construed as limitedto the embodiments set forth herein. Rather, these embodiments areprovided so that this disclosure will be thorough and complete, and willfully convey the scope of the invention to those skilled in the art. Oneskilled in the art may be able to use the various embodiments of theinvention.

Embodiments of the invention provide novel antenna switching embodimentsfor a GNSS receiver that can be classified as switch-and-stay orswitch-and-examine strategies. They describe how the GNSS receiver canuse multiple receive antennas in a low-cost manner to improveperformance. The embodiments disclosed herein do not impose therestriction of one-one correspondence between an antenna and a givensatellite. The embodiments are unique, inter alia: the antennas arelocated within the receiving device or within close proximity and thesignal quality of each antenna need not be monitored continuously.

Implementation of the embodiments pertains to GNSS receivers where thetransmission is continuous. Therefore, there are no intervals withouttransmissions that can be used to switch or select the antennas. The keyto combining antenna switching with a GNSS receiver is to blank out theRF signal while the antennas are switched without losing track of thesignals being tracked. In this context, blanking out the signal meansthat the signal is effectively all zeros.

Another key difference of the methods compared to existing techniques isthat the GNSS receiver is processing signals from many differenttransmitters (satellites). This leads to novel metrics for deciding whento switch antennas. The GNSS receiver itself provides some uniquemetrics which can also be used to make antenna switching decisions.

In this context a GNSS receiver processes signals from one or moresatellite systems such as GPS, Galileo, GLONASS, Iridium, Beidou, QZSS,or SBAS.

In the embodiments, the GNSS receiver has fewer RF chains than receiveantennas to keep cost low. (In the preferred embodiment there is only asingle RF chain. The descriptions herein are often from thepoint-of-view of the receiver having a single RF chain, but theembodiments can be easily extended to cases where multiple RF chains arepresent.) Therefore, the GNSS receiver cannot process data from all itsantennas simultaneously. However, there are performance benefits thatcan be achieved by processing the data from each antenna serially ratherthan in parallel. One such example is if a user places their GNSSreceiver on a metal object such that the antenna underneath the phonesuffers from severe attenuation leading to degraded performance.However, if there were a second antenna placed in the phone such that itsees less severe attenuation then the performance could be improved byantenna selection.

Multiple antennas could be mounted on a vehicle and provided to the GNSSreceiver as inputs. In some cases one antenna may have better receptionso that antenna selection can improve performance. So the antennas arenot necessarily co-located within the device containing the GNSSreceiver. The antennas could also have different characteristics such aspolarization. For example one antenna could be right-hand circularlypolarized, and the other could be left-hand circularly polarized, andanother could be a linear antenna. The different antennas may also bedirectional and designed to enhance signals in a different direction.For example, in an application where the GNSS receiver is in a devicewhich is practically always stationary and indoors (like a wireless LANaccess point or femto cell) it may be advantageous to install multipleantennas pointing in different directions to enhance signals arrivingfrom different directions to allow the device to process satellitesignals even while indoors where attenuation can be significant.

In some embodiments, one or more antennas may be inside the receivingdevice, and one or more antennas may be external to the receivingdevice. For example, the receiving device may have an external antennaconnection. Embodiments described below can allow the receiver toautomatically switch to an external antenna whenever it is connected. Insuch an embodiment, the receiver will treat the external antennaconnection as an antenna. If no antenna is actually connected, thenembodiments would automatically choose one of the internal antennas. Apractical example would be an external antenna that is installed in avehicle. When the user is in the vehicle and plugs in the externalantenna, the GNSS receiver automatically switches to that antenna if itprovides better performance than any of the internal antennas.

The description herein is in the context of GNSS receivers where thetransmitters are satellites, but the same concepts can be applied toterrestrial transmitters as well.

Referring now to FIG. 1A which shows a system in accordance with anembodiment of the invention. The system 100 has five main componentscomprising multiple receive antennas A1 105 and A2 107, an antennaswitch 110, the GNSS receiver 120, and the switch controller 150. TheGNSS receiver 120 comprising an RF chain 130 and baseband circuitry 140.Two antennas 105 and 107 are shown for simplicity but more than two maybe used. Many GNSS receiver implementations separate a measurementengine (ME) from a position engine (PE). In some cases, the ME and PEare implemented on separate ASICs or processors. For the purposes ofthis disclosure, it is not important where the GNSS receiver isimplemented as long as it accepts the RF signal and provides the outputto the switch controller. The switch controller 150 may be in the sameplace as the ME and/or PE or it may be a separate unit with inputs fromboth (or either) the ME and PE. The switch controller's 150 main purposeis to provide a control signal to the antenna switch 110 such that theappropriate receive antenna is connected to the RF chain 130 in a timelymanner. Similarly, the receiver may have multiple RF chains, but stillhaving more antennas than RF chains. In this embodiment, the switchcontroller controls multiple switches, but otherwise this embodimentfollows the description herein for the case of having one RF chain. Themain difference being that once one antenna has been selected for one RFchain, the same decision methods are applied to the remaining antennasto select the best for the next RF chain. While not shown explicitly inFIG. 1A, the blanking operation may be a part of the RF chain 130, sothat while the signal is being blanked the effective output of the RFchain 130 is zero. FIG. 1B shows one embodiment of an RF chain, in thiscase while the antenna switch is being changed and transients aresettling down the output of the A/D converter would be forced to allzeros. The switch controller would control when the output of the A/Dconverter is forced to all zeros.

FIG. 1B is from U.S. patent application Ser. No. 12/244,060 filed Oct.2, 2008 entitled POWER-SAVING RECEIVER CIRCUITS, SYSTEMS AND PROCESSESincorporated herein by reference.

In FIG. 1B, the receiver converts the incoming signal to a digitalbaseband signal using a radio-frequency (RF) chain 2100 coupled to oneor more antennas 2105. The RF chain 2100 has a low noise amplifier LNA2110 and an associated anti-drift phrase lock loop PLL 2115. LNA 2110 iscoupled to a bandpass filter 2120 that in turn feeds a frequencydownconverter 2140. The frequency downconverter 2140 has a localoscillator LO and a mixer followed by a low pass filter 2150 and ananalog-to-digital (A/D) converter 2160. A power saving mode controller2130 selectively supplies power to any one, some, part or all ofbandpass filter 2120, frequency down converter 2140, low pass filter2150 and A/D converter 2160. Controller 2130 supplies powerindependently to LNA 2110, anti-drift PLL 2115 and the local oscillatorLO in case these blocks are lower cost units with enough warm up driftto justify keeping them powered continually except in a longer-termsleep mode.

From the perspective of the baseband processing 140 in the GNSS receiver120 the state of the switch does not matter as long as a clean RF signalis delivered. If the RF signal is blanked out until any transients dueto switching have died down, then the baseband processing does not needto change or even know that a switching has occurred as long as theblanking interval is short. Here short means relative to the intervalsbetween updates from the GNSS receiver 120. For example, if the GNSSreceiver 120 outputs an updated position every 1 sec, then 100 ms couldbe considered short which is more than sufficient time for a switch tochange from one antenna to another. Power-save modes may turn off the RFsignal for 90% of the dwell or more—in that context 900 ms is consideredshort. If the GNSS receiver 120 knows to ignore the signal during theblanked portion, then the blanking interval could be even longer. As aresult, the GNSS receiver 120 may continue its normal processing andnavigation computations even during dwells where antenna switching hasoccurred. During a dwell that includes data from multiple antennas theGNSS receiver 120 may either:

-   -   1. Compute its output based solely on the data from one antenna.        -   a. This will reduce the SNR.        -   b. In this case, the GNSS receiver 120 should ignore the            data coming from other antennas as if the signal was            blanked. This is essentially how the receiver would behave            in a power-save mode as is disclosed in U.S. patent            application Ser. No. 12/244,060. Except it must compute            relevant metrics so that the switch controller can select            the appropriate antenna.    -   2. Process the data from two or more of the antennas as if they        came from the same antenna.        -   a. There may be a phase difference between the signals            coming different antennas, but this will not affect typical            GNSS receivers. There would only be an SNR reduction due to            the portion of the signal lost while switching antennas.

Since GNSS receivers are robust to the signal being blanked, asevidenced by existing power-save modes, the RF signal can be blankedbefore and after engaging the switch to minimize the transient effectsin switching circuits.

There are several different approaches and configurations for performingthe antenna selection and multiple methods for performing antennaselection. For ease of explanation the description below divides theembodiments into cases where two antennas (Nrx=2) are present and forthe case where there are more than two antennas (Nrx>2).

As background, the GNSS receiver 120 processes a number of samplesduring each dwell for each satellite. For a GPS receiver with a 1 secupdate rate there are typically 50 samples per second that areprocessed. Two options for implementing the GNSS receiver 120 are blockbased processing or loop-based processing. Block-based processing takesall the samples and processes them jointly while loop-based processingprocesses each sample one at a time. If the input signal is blanked suchas during a power-save mode or during intervals where the antennas areswitched, then the processing can be adapted to work without all thesamples. In this way, there is not disruption in outputs from the GNSSreceiver 120.

Even though it has a certain update rate, the GNSS receiver 120 need notuse all the samples in its position estimation. For example, a GPSreceiver with a 1 sec update rate could compute a position based only onthe first 25 samples—basically ignoring the last 25 samples in thedwell. It wouldn't normally do that because the more samples it uses thebetter it can perform. However, this may be useful to help decide whichantenna to select.

Two Antenna Cases

In order to detect when one antenna is better than another antenna, thereceiver may periodically (or upon a certain event) toggle the switchand check a metric (such as the signal level, C/No) for all or a subsetof the satellites being tracked. The different times or ways a receivercan switch from one antenna to the other are listed below:

Case 1:

FIG. 2 gives a duty-cycle switching example 200 where A1 means thesignal from antenna A1 105 is being delivered and A2 means the signalfrom antenna A2 107 is being delivered. In this case, a portion of eachdwell 210 and 220 is dedicated to each antenna, but the duration of eachdwell does not need to be the same. One interval could only be longenough to obtain an estimate of the signal level for all or a subset ofthe satellites being tracked. For the duty-cycle in FIG. 2, the A1interval is at the beginning in every other dwell to reduce the amountof switching that is required.

Case 2:

FIG. 3 shows an alternative switching duty-cycle 300 where the A1interval is always at the beginning 315, 325 and 335 of the dwells 310,320 and 330 which may be preferable for some implementations. Or inother embodiments, each antenna could be used for a certain number ofdwells before switching.

Case 3:

Alternatively, the duty-cycle 400 in FIG. 4 may be used so that thesignal level on the other antenna is computed less frequently (not everydwell) to reduce the amount of switching that is required. In oneembodiment, the number of dwells (N−1) between switching from oneantenna to the other for computing the relevant signal statistics iskept fixed. In other embodiments, the number of dwells between which thesignal level is computed in the other antenna is kept adaptive. Thistype of switching strategy is especially useful in cases where there issystem performance degradation due to spurs introduced in the switchingprocess. Hence, if a particular Rx antenna is giving satisfactoryperformance, there is no need to switch to the second Rx antenna.Several possible metrics to determine whether it is time to switch andcheck the signal statistics on the second antenna may be defined, thesemetrics are labeled Signal Quality Metrics:

-   -   1. C/No or SNR or Noise Variance: A GNSS receiver typically        requires 4 satellites to get a position fix though less than 4        can be used to propagate a position. One metric is to check if        there are at least X-satellites which have C/No or SNR or Noise        Variance greater than or less than a predefined threshold. In        some embodiments X may be set to 4. A similar method is to        compute a function of the signal levels that yields a scalar        value such as mean, median, max, min, norm, etc.        -   a. C1=mean (C/No on antenna 1 of all SVs being tracked)        -   b. C2=mean (C/No on antenna 2 of all SVs being tracked)    -   2. Pseudo-range uncertainty: In some embodiments, the GNSS        receiver may be able to provide a measure of uncertainty for the        pseudo-range measurement for each satellite. One metric is to        check if at least X-satellites have a pseudo-range uncertainty        within a predefined limit. This metric is disclosed in U.S.        patent application Ser. No. 12/648,846 now U.S. Pat. No.        8,525,727, issued on Sep. 3, 2013. Likewise a function of the        pseudo-range uncertainties on each antenna can be computed such        as mean, median, max, min, norm, etc.        -   a. C1=mean (pseudo-range uncertainty on antenna 1 of all SVs            being tracked)        -   b. C2=mean (pseudo-range uncertainty on antenna 2 of all SVs            being tracked)    -   3. Pseudo-range residuals: In some embodiments, the GNSS        receiver may be able to provide the difference between the        measured pseudo-range and the expected pseudo-range (commonly        called pseudo-range residuals). One metric for this information        is to check if at least X-satellites have a pseudo-range        residual within a predefined limit. Likewise a function of the        pseudo-range residuals on each antenna can be computed such as        mean, median, max, min, norm, etc.        -   a. C1=mean (pseudo-range residuals on antenna 1 of all SVs            being tracked)        -   b. C2=mean (pseudo-range residuals on antenna 2 of all SVs            being tracked)    -   4. Position/Velocity uncertainty: The GNSS receiver apart from        giving a position and a velocity fix may also be able to give        position and velocity uncertainties. An alternative metric is to        check if the position uncertainty/velocity uncertainty        calculated is within a predefined threshold. (Ser. No.        12/648,846)

The above mentioned signal quality metrics are represented in the flowdiagrams as “DecisionMetric (C1, . . . , CNrx)” where C1 represents themetric from the first antenna and CNrx represents the metric from thelast antenna. For example, with Nrx=2, C1=C/No metric from the firstantenna, and C2=C/No metric from the second antenna.

The above mentioned metrics are in no way restrictive and anycombination of the above three may be used to define a suitablecondition for switching from one antenna to the other. In someembodiments it may be required for a combination of the above metrics tosatisfy some condition (e.g. above or below a threshold) for a fixedperiod of time before antenna switching is performed.

In other embodiments, the time taken to decide on the best antenna maytake more than one dwell. In FIG. 4, that would mean what is shown asthe Nth dwell could actually cover multiple dwells.

Case 4:

In some embodiments which are also sensor based, (i.e., they have accessto information from one or more sensors such as accelerometers,e-compasses, gyroscopes, digital-cameras, infra-red sensors, lightsensors), it is possible to get an idea of the orientation of theantennas and the GNSS device. When a change in the orientation of theGNSS device (and therefore the antennas) is detected, then antennaswitching may be performed. As an example assume that the GNSS devicehas two antennas, one on each side of the GNSS casing.

-   -   1. Assume the GNSS device is placed on a car seat or dashboard        with the RF antenna currently being used facing downwards. Then        using the light sensor/infra-red sensor or digital camera this        can scenario can be detected and the second antenna is then        used.    -   2. Alternatively, outputs from any combination of the        accelerometer, gyroscope, and e-compass may be used to keep        track of the relative orientation of the GNSS receiver. In this        case, switching may be performed whenever it is determined that        the second antenna is the one that is facing upwards. For        example, if the antenna on one side of the handset is deemed the        best via antenna selection, then the handset if flipped such        that the two antennas effectively trade places sensors can        detect this and change antennas automatically.

In Summary, the receiver may perform antenna selection based upon theoccurrence of one or more events:

-   1. A certain amount of time has elapsed since the last antenna    selection.-   2. A signal quality metric falls below a threshold.-   3. A change in the orientation of the GNSS device is detected using    sensors.

FIG. 8 is a flow diagram for Nrx=2. Process 800 starts from the currentantenna Ai, where i is index for current antenna 810. A set of satellitevehicles SVs are tracked using the current antenna Ai 820. A decision ismade to check other antennas or not 830. The decision block “Check OtherAntennas?” 830 may be implemented according to any Case 1, Case 2, Case3, or Case 4. For example, for cases 1 and 2, if the dwell time may be 1sec, then the other antenna(s) may be checked every 1 sec. For Case 3,the other antennas may only be checked if the position uncertaintyexceeds 10 m or if the time since the last antenna switch exceeds 30sec. For Case 4, the other antennas may only be checked if the sensorsdetect a change in orientation. Other embodiments may combine variouscases, for example, the other antenna(s) may be checked only if positionuncertainty exceeds 15 m or if sensors detect a change in orientation.

Continuing with FIG. 8, if other antennas are not checked, the processis returned to 820. When other antennas are checked, the C/No iscomputed for each SV (or a subset) using Ai: Ci(j)=C/No for the jth SVwhile using the ith antenna 840. After switching antennas at 850 bychanging index i to 3−i, C/No is computed for each SV using Ai:Ci(j)=C/No for the jth SV while using the ith antenna 860. Antennaselection is performed at 870, in other words the best antenna isselected, another index k is equal to the index of the best antennaaccording to a decision metric described below. At 880, if i is equal tok, then the process returns to 820. If i is not equal to k, antennas areswitched and index i is made equal to k 890. The process is returned to820.

FIG. 9 is an alternative flow diagram for Nrx=2. The process 900 startsfrom the current antenna Ai, where i is index for current antenna 910. Aset of satellite vehicles SVs are tracked using the current antenna Ai920. C/No is computed for each SV using Ai: Ci(j)=C/No for the jth SVwhile using the ith antenna 930. A decision is made to check otherantennas or not 940. The decision block “Check Other Antennas?” 940 maybe implemented according to any Case 1, Case 2, Case 3, or Case 4. Forexample, for cases 1 and 2, if the dwell time may be 1 sec, then theother antenna(s) may be checked every 1 sec. For Case 3, the otherantennas may only be checked if the position uncertainty exceeds 10 m orif the time since the last antenna switch exceeds 30 sec. For Case 4,the other antennas may only be checked if the sensors detect a change inorientation. Other embodiments may combine various cases, for example,the other antenna(s) may be checked only if position uncertainty exceeds15 m or if sensors detect a change in orientation.

Continuing with FIG. 9, if other antennas are not checked, the processis returned to 920. When other antennas are checked, antennas areswitched at 950 by changing the index i to 3−i, C/No is computed foreach SV using Ai: Ci(j)=C/No for the jth SV while using the ith antenna960. The best antenna is selected at 970, another index k is equal to adecision metric described below. At 980, if i is equal to k, then theprocess returns to 920. If i is not equal to k, antennas are switchedand index i is made equal to k 990. The process is returned to 920.

In FIG. 8 and FIG. 9, the decision block “Check Other Antennas?” may beimplemented according to any Case 1, Case 2, Case 3, or Case 4. Forexample, for cases 1 & 2 if the dwell time may be 1 sec, then the otherantenna(s) may be checked every 1 sec. For Case 3, the other antennasmay only be checked if the position uncertainty exceeds 10 m or if thetime since the last antenna switch exceeds 30 sec. For Case 4, the otherantennas may only be checked if the sensors detect a change inorientation. Other embodiments may combine various cases, for example,the other antenna(s) may be checked only if position uncertainty exceeds15 m or if sensors detect a change in orientation.

The flow diagram figures show one specific C/No metric being used todrive the decision to check other antennas as well as the decisionmetric for antenna selection. This is in no way a restriction, and anyof the other metrics described above may be used.

Multiple Antenna Cases

The extension of how the duty-cycle is changed from antenna to antennafrom the two antenna scenario to the multiple antenna scenario is shownin FIGS. 5, 6, and 7. FIG. 4 is a third embodiment of the duty-cycle.FIG. 5 is a fourth embodiment of duty-cycle for the Nrx>2 antenna case.FIG. 6 is a fifth embodiment of duty-cycle for the Nrx>2 antenna case.FIG. 7 is a sixth embodiment of duty-cycle for the Nrx>2 antenna case.

Note that this is in no way an exhaustive combination of all approaches.For example in FIG. 6, the ordering in which the antennas are selectedin the dwell is kept fixed as (A₁, A₂, . . . A_(Nrx)). In someembodiments the search order may be changed from dwell to dwell. This isespecially useful if apriori information is available about whichantenna is preferable. For example, if in the previous search iteration,an ordered list of metrics for the antennas is already available (i.e.,for each antenna the performance wrt to eitherSNR/CNo/NoiseVariance/Psuedo-range uncertainty/Psuedo-rangeresiduals/Position Uncertianty/Velocity Uncertainty is known), then inthe new search iteration, the antenna search may begin with the onewhich has the best metric followed by the second best and so on.Furthermore, note that all antennas need not always be checked (i.e., ifduring a search a particular antenna is deemed to provide good enoughperformance), the search may be terminated and for the set of antennassearched the antenna with the best performance may be chosen. FIG. 9shows an example flow diagram for this alternative embodiment.

Metrics to Determine Antenna Selection

Once the receiver has decided to check the other antenna(s) to determinewhich one should be used, it must implement a metric for selecting thebest antenna. In the flow diagrams of FIG. 8 and FIG. 9, this metric iscomputed by the command “i=DecisionMetric (C₁, . . . , C_(Nrx))”, wherei is the index of the antenna selected and C1, . . . , CNrx are theinputs used to make the decision. Nrx is the number of antennas.

Several different approaches exist to determine which antenna to switchto some of which have been outlined in the previous sections. LetC_(i)(j) be the carrier to noise ratio for the j'th satellite from thei'th antenna and let C_(i)=[C _(i) (1), C _(i) (2), . . . C _(i) (K)]denote the K-tuple vector for C/No's for each antenna. Note that K neednot necessarily be the same for each antenna. Let CNothresh denote theminimum CNo required for each satellite. Then letC ₁=sort([C ₁(1), . . . C ₁(K ₁)])C ₂ _(—) =sort([C ₂(1), . . . C ₂(K ₂)])C _(Nrx)=sort([C _(Nrx)(1), . . . C _(Nrx)(K _(Nrx))],)

-   denote the sorted in descending order K-tuple vector of C/No's for    each antenna such that each vector only contains those satellite    carrier to noise ratios above the threshold CNothresh. These C/No    vectors can be used to implement a variety of decision metrics used    for antenna selection, not all metrics would require sorting but    sorting is still used only for explanation purposes.    -   1) Use one of several different functions to map each C_(i),        i=1, . . . Nrx to a single number Yi. Then the antenna with the        largest number Yi is chosen. Some examples of such functions are        sum, median, max, min, L1 norm, L2 norm, Lp norm, arithmetic        mean, geometric mean, logarithmic mean, the mean of taking the        exponential for each element in the vector C_(i), etc. In some        embodiments the smallest Yi may be deemed the best.        -   a. for example Yi=sum of each element in C.    -   2) An alternative approach is to choose the antenna with the        longest C_(Nrx) i.e., the most number of satellites with C/No        above a threshold. If there are multiple antennas satisfying        this criterion then anyone of the tests in approach 1) above        maybe used to break the tie.        -   a. i=index of C_(i) _(—) with the most elements.    -   3) Compare the M-th biggest C/No for each satellite. If        C1(M)>C2(M) then antenna one is preferred over antenna 2.    -   4) The GNSS receiver can also compute a position estimate from        each antenna's data separately, then the position uncertainties        resulting from each antennas are compared. The antenna with the        least uncertainty would be preferred.    -   5) A third approach is to first compute Yi for each antenna as        in approach 1), 3) or 4). Let Ycurr denote the figure of merit        for the current antenna used by the GNSS receiver for        positioning purposes. Even if there is a Yi, such that Yi>Ycurr        for i≠curr, the current antenna may still be used as long as        Yi−Ycurr<threshold. In other words, the expected improvement        from switching antennas must exceed a minimum amount before it        outweighs the cost of switching.    -   6) Based on sensor input as explained in Case 4 in the previous        section, the antenna which is facing skywards or the one with        the best satellite visibility is chosen. This is particularly        useful if the antennas are directional so that they amplify        signals coming from different directions.

FIG. 10 is another example flow diagram. Process 1000 starts from thecurrent antenna Ai, where i is index for current antenna 1010. A set ofsatellite vehicles SVs are tracked using the current antenna Ai 1020. Adecision is made to check other antennas or not 1030. If other antennasare not checked, the process is returned to 1020. When other antennasare checked, the C/No is computed for each SV using Ai: Ci(j)=C/No forthe jth SV while using the ith antenna 1040. Switching antennas are doneat 1050 by changing index by adding 1 to the modulus of i and Nrx. Adecision is made if all required antenna statistics are available 1060.If all required antenna statistics are not available, the process isreturned to 1040. If all required antenna statistics are available.Change index i based on a decision metric considering C1 to CNrx 1070.The process is returned to 1020.

FIG. 11 is yet another example flow diagram. Process 1100 starts fromthe current antenna Ai, where i is index for current antenna 1110. A setof satellite vehicles SVs are tracked using the current antenna Ai 1120.A decision is made to check other antennas or not 1130. If otherantennas are not checked, the process is returned to 1120. When otherantennas are checked, the C/No is computed for each SV using Ai:Ci(j)=C/No for the jth SV while using the ith antenna 1140. A decisionis made if the i-th antenna is good enough according to one of thedecision metrics described above, for example if the 4^(th) largest SNRexceeds a threshold 1150. If the i-th antenna is good enough, theprocess is returned to 1120. If not, switching antennas is done at 1060by changing the index by adding 1 to the mod of i and Nrx. The processis returned to 1140.

The embodiments described above referred to the case when SVs are beingtracked by the GNSS receiver. In other embodiments the GNSS receiver maynot yet have acquired (or found) any SV signals. For example, this isthe typical situation when the GNSS receiver is first turned on. Some ofthe embodiments already described can be applied to this use case aswell. Specifically,

-   -   the GNSS receiver may quickly scan for satellite signals on each        antenna and select the best antenna using one of the decision        metrics described above. It may also choose the first antenna        that is deemed good enough according to one of the decision        metrics described above.    -   the GNSS receiver can try to acquire satellite signal using one        antenna, then if it cannot do so within a pre-defined time        interval switch to another antenna and try again.

Another employment of the above described embodiments is to detectmultipath corrupted signals. For example, if one antenna is right-handcircularly polarized (RHCP) so that it matches the polarization of theline-of-sight (LOS) signal, and another antenna is left-hand circularlypolarized (LHCP) so that it matches the polarization of reflections ofthe LOS signal. Then the signal from the LHCP antenna will yield alarger SNR measurement for reflected signals than the RHCP antenna. Soif the SNR for a particular SV is higher coming from the LHCP antennathan its SNR measured from the RHCP antenna it can be marked as areflection. This information can be passed to the GNSS processingalgorithms (measurement engine and/or position engine) to improve theirperformance.

In some embodiments the satellite may be transmitting multiple signals.For example, GPS satellites transmit signals on multiple frequencies. Inthe case that the GNSS receiver can process signals from both frequencybands there are some unique embodiments that can be applied. First, itmay be beneficial to only process the signal from the frequency bandwhich gives the best performance. For this embodiment, from thepoint-of-view of the antenna selection described herein the signals ineach frequency band can be assumed to be coming from two differentsatellites. In this case, the antennas being chosen from may be tunedfor different frequencies. In this case, either the RF chain is flexibleto process signals from both frequency bands or two different RF chainsexist within the device for each frequency band—conceptually this isstill counted as one RF chain in this disclosure. Second, if the GNSSreceiver intends to process signals from both frequency bandssimultaneously the signal quality metrics from both frequency bandsshould be considered when making the antenna selection decision. In thiscase, it may be that there is an RF chain designed for each frequencyband so that the antenna selection described herein can be appliedindependently for the two frequency bands such that each RF chain couldbe connected to the same or different antennas. In this case the GNSSreceiver could be thought of as two independent co-located GNSSreceivers.

The approaches explained above are by no means restrictive and anycombination of them can be used. In some embodiments, instead of usingthe C/No, the SNR may be used, or any pseudo-range uncertainty such asthe pseudo-range residuals.

Many modifications and other embodiments of the invention will come tomind to one skilled in the art to which this invention pertains havingthe benefit of the teachings presented in the foregoing descriptions,and the associated drawings. Therefore, it is to be understood that theinvention is not to be limited to the specific embodiments disclosed.Although specific terms are employed herein, they are used in a genericand descriptive sense only and not for purposes of limitation.

What is claimed is:
 1. A method for switching antennas, said methodcomprising: processing signals from a plurality of satellite vehiclesSVs using a first antenna Ai selected from a plurality of antennas,where i is antenna index; computing a signal quality metric for one ormore of the signals; selecting an antenna from the plurality of antennasusing a decision metric; and switching antennas to the selected antenna,wherein there are two receive antennas and wherein switching antennascomprising changing index i to 3−i.
 2. The method of claim 1, furthercomprising computing a C/No for each SV using Ai: Ci(j)=C/No for the jthSV while using the ith antenna.
 3. The method of claim 2, furthercomprising selecting a second antenna based on a decision metric.
 4. Themethod of claim 3, further comprising switching to said second antenna.5. A method for switching antennas, said method comprising: processingsignals from a plurality of satellite vehicles SVs using a first antennaAi selected from a plurality of antennas, where i is antenna index;computing a signal quality metric for one or more of the signals;selecting an antenna from the plurality of antennas using a decisionmetric; and switching antennas to the selected antenna, whereinswitching antennas comprising changing index i by adding 1 to theModulus of i and Nrx (Nrx is the number of receive antennas beingselected from).
 6. The method of claim 5, further comprising changingindex i based on a decision metric considering C1 to CNrx.